home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1990: Night of the Living Disc / Night of the Living Disc.2mg / Dev.CD.5 / Utilities / GSBug / Notes.1.5b10 < prev    next >
Encoding:
Text File  |  1990-08-21  |  7.1 KB  |  200 lines  |  [04] ASCII Text (0x0000)

  1. GSBug 1.5b10 Release Notes
  2. by Dave Lyons
  3.  
  4. Stepping in emulation mode should be much more reliable now, although it isn't 
  5. perfect (in particular, one place where there's a window of vulnerability is
  6. using X on a JSR in emulation modeQbut if you have the I bit set in your P
  7. register there's no problem).
  8.  
  9. Having the stack in $01xx works much better now, whether you're in emulation or
  10. not. This works by frequently stuffing a $80 into $01/0100 (EMULSTACK, the
  11. location the interrupt manager and other things use to set the $01xx stack
  12. when needed).
  13.  
  14. If you trace code that actually uses the $01/0100 value to set the stack pointer,
  15. you still have a problem, since your program will start using the part of the stack
  16. that gets toasted on every interrupt.
  17.  
  18. You can now type in GSBug even if the Event Manager is on but keyboard
  19. interrupts are off.  Previously this would leave you dead in the water.
  20.  
  21. Files created with CSave now have a real filetype/auxtype assignment
  22. ($5A/0005).
  23.  
  24. Fixed DebugStr to return no error (previously it was returning the high two
  25. bytes of the caller's address as an error).
  26.  
  27. Took out code that was checking $C020 (not SLOTREG at $C02D) to see if the
  28. printer slot was switched in.  Makes no sense anyway, because a printer can
  29. legitimately be either an internal or external slot.
  30.  
  31. Brought the list of Toolbox call names up to date for System Software 5.0.3
  32. (see changes below).
  33.  
  34. Added tool set names (for example, $0002 is "Memory Manager").  For some time,
  35. you've been able to use SetTBrk with a tool set number, to force a break on
  36. every call to that tool set.  Now you can do it by name, too.
  37.  
  38. Examples:
  39.  
  40.     SetTBrk #2
  41.     SetTBrk _Memory Manager
  42.     ShowBrks
  43.  
  44. Saved about 900 bytes by removing many extra copies of the string "Unknown."
  45.  
  46. Obsolete call names removed:
  47. 1522    TEInsertPageBreak
  48. 2022    TEGetHooks
  49. 2122    TESetHooks
  50. 2222    TEGetDefProc
  51.  
  52. Call names corrected:
  53. 0D02    RemoveFromOOMQueue
  54. 2115    SelectIText
  55. 1021    VDKeyGetKRCol
  56. 1121    VDKeyGetKGCol
  57. 1221    VDKeyGetKBCol
  58.  
  59.  
  60. Call names added:
  61. 3603    ReleaseROMResource   3703    ConvSeconds      010A    SANEBootInit
  62. 020A    SANEStartUp          030A    SANEShutDown     040A    SANEVersion
  63. 050A    SANEReset            060A    SANEStatus       090A    FPNum
  64. 0A0A    DecStrNum            0B0A    ElemNum          5D0E    TaskMasterContent
  65. 5E0E    TaskMasterKey        1713    GetDeviceName    1813    PrGetPrinterSpecs
  66. 1913    PrDevPrChanged       1A13    PrDevStartup     1B13    PrDevShutDown
  67. 1C13    PrDevOpen            1D13    PrDevRead        1E13    PrDevWrite
  68. 1F13    PrDevClose           2013    PrDevStatus      2113    PrDevAsyncRead
  69. 2213    PrDevWriteBackground 3013    PrDevIsItSafe    2022    TEOffsetToPoint
  70. 2122    TEPointToOffset      2222    TEGetDefProc     2322    TEGetRuler
  71. 2422    TESetRuler           2522    TEScroll         2622    TEGetInternalProc
  72. 2722    TEGetLastError       2822    TECompactRecord
  73. 0123    MSBoot               0223    MSStartUp        0323    MSShutDown
  74. 0423    MSVersion            0523    MSReset          0623    MSStatus
  75. 0923    SetBasicChan         0A23    SetMIDIMode      0B23    PlayNote
  76. 0C23    StopNote             0D23    KillAllNotes     0E23    SetRecTrack
  77. 0F23    SetPlayTrack         1023    TrackToChan      1123    Locate
  78. 1223    SetVelComp           1323    SetMIDIPort      1423    SetInstrument
  79. 1523    SeqPlayer            1623    SetTempo         1723    SetCallBack
  80. 1823    SysExOut             1923    SetBeat          1A23    MIDIMessage
  81. 1B23    LocateEnd            1C23    Merge            1D23    DeleteTrack
  82. 1E23    SetMetro             1F23    GetMSData        2023    ConvertToTime
  83. 2123    ConvertToMeasure     2223    MSSuspend        2323    MSResume
  84. 2423    SetTuningTable       2523    GetTuningTable   2623    SetTrackOut
  85. 2723    StartMIDIDriver      2823    StopMIDIdriver   04FF    DebugVersion
  86. 06FF    DebugStatus          09FF    DebugStr         0AFF    SetMileStone
  87.  
  88.  
  89. Tool Set Names  (You can use these with SetTBrk.)
  90. 0001    Tool Locator
  91. 0002    Memory Manager
  92. 0003    Misc Tools
  93. 0004    QuickDraw
  94. 0005    Desk Manager
  95. 0006    Event Manager
  96. 0007    Scheduler
  97. 0008    Sound Tools
  98. 0009    ADB
  99. 000A    SANE
  100. 000B    Integer Math
  101. 000C    Text Tools
  102. 000E    Window Manager
  103. 000F    Menu Manager
  104. 0010    Control Manager
  105. 0011    Loader
  106. 0012    QuickDraw Aux
  107. 0013    Print Manager
  108. 0014    Line Edit
  109. 0015    Dialog Manager
  110. 0016    Scrap Manager
  111. 0017    Standard File
  112. 0019    Note Synth
  113. 001A    Note Seq
  114. 001B    Font Manager
  115. 001C    List Manager
  116. 001D    ACE
  117. 001E    Resource Manager
  118. 0020    Midi
  119. 0021    Video Overlay
  120. 0022    Text Edit
  121. 0023    MIDI Synth
  122. 00FF    Debugger
  123.  
  124.  
  125. GS/OS Call Names
  126. Brought the list of GS/OS call names up to date for System Software 5.0.3.
  127. (The table doesn't have any Shell calls in there right now.  Maybe it should.)
  128.  
  129. Removed this call:
  130. $000E   ExpandPath (becuase there's no class-0 version)
  131.  
  132. Added these class-1 call names:
  133. $2029   Quit
  134. $2033   FSTSpecific
  135. $2034   AddNotifyProc
  136. $2035   DelNotifyProc
  137. $2036   DRename
  138. $2037   GetStdRefNum
  139. $2038   GetRefNum
  140. $2039   GetRefInfo
  141.  
  142.  
  143.  
  144. What It Doesn't Do Yet
  145.  
  146. Note--sometimes the debugger gets mysteriously disconnected from the Apple-Ctl-
  147. ESC vector.  If you can reproduce this, let me know.
  148.  
  149. Holding down Option occasionally overrides a memory-protect area, but it usually
  150. just crashes.
  151.  
  152. Some of the help screens are incompelete or inaccurate.
  153.  
  154. Templates currently limited to 64K.  If template file >64K, it gets left open
  155. by accident.
  156.  
  157. There's a harmless problem where hitting SPACE to single-step an RTS sometimes 
  158. doesn't do anything at all.
  159.  
  160. Using X to execute a JSR real-time has problems sometimes.  It's been known to 
  161. scramble the B register (if anyone has a reproducible case, let me know!), and
  162. I've seen it come back in $01/Fxxx space with the ROM enabled when the
  163. language card was supposed to be.
  164.  
  165. Breakpoints don't work quite right in bank-switched memory, either (it doesn't 
  166. store the original instruction into the right bank?).
  167.  
  168. Being able to work with OS breaks by name instead of call number would be
  169. handy.
  170.  
  171. Should show OS call names on a JSL $E100B0 (examine stack if stepping, and look
  172. for a PEA $xxxx in a disassembly).
  173.  
  174. Install notify procedure so OS breaks still work after coming back from ProDOS 
  175. 8.
  176.  
  177. The debugger chains into the tool-dispatcher vectors its own way.  It should
  178. use the standard method defined in GS Technical Note #87.
  179.  
  180. There is no support for breaks on user tools.  This is low priority becuase user
  181. tools are always in RAM, so you can always find your function yourself and set
  182. a Breakpoint there.
  183.  
  184. Should make the Init version take exactly 64K to avoid mucking up memory use.  
  185. This will also fix problems where tool calls made from the same bank as GSBug
  186. never trigger a tool break.
  187.  
  188. Will implement pseudo Tool calls to set and clear debugger breakpoints under
  189. program control.
  190.  
  191. May make the MEM locations labelable (and save labels in the config file).
  192.  
  193. Unload should call UserShutDown on self (under ProDOS 8, just beep instead).
  194.  
  195. The "D" command should parse more carefully than it currently does (it ought to
  196. let you use D as the first character of an address without difficulty).
  197.  
  198. ----------
  199. See the 1.5b9 release notes for more information.
  200.